﻿@model IEnumerable<kqtkGiaoTrinh>
@using Kendo.Mvc.UI

@( Html.Kendo().Grid(Model)
                .Name("griddata")
                .Pageable(page => page
                        .ButtonCount(5)
                        .Info(true)
                        .Refresh(true)
                            .Messages(mess => mess
                                     .Display("{0}-{1} của {2} bản ghi.")
                                            .Empty("Không có dữ liệu")
                                            .Refresh("Làm mới")
                                            .First("Trang đầu tiên")
                                            .Last("Trang cuối cùng")
                                            .Next("Trang tiếp")
                                            .Previous("Trang trước")
                                      )
                                     .Input(true)
                                            .Messages(mess =>
                                            {
                                                mess.Of("của {0}");
                                                mess.Page("Trang");
                                            })

                                )
                            .Columns(columns =>
                                {
                                    //columns.ClientTemplate("<input type='checkbox' #= CheckboxColumn? checked='checked': checked='' # class='chkbx' />");
                                    columns.Bound(p => p.MaGiaoTrinh).Width(80).Title("Mã");
                                    columns.Bound(p => p.TenGiaoTrinh).Width(200).Title("Tên Giáo Trình");
                                    columns.Bound(p => p.HieuDinh).Width(110).Title("Hiệu Đính");
                                    columns.Bound(p => p.TenNXB).Width(150).Title("Tên NXB");
                                    columns.Bound(p => p.GiaNiemYet).Width(100).Title("Giá");
                                    columns.Bound(p => p.TenTacGia).Title("Tác Giả");
                                })
                                .Scrollable(scrollable => scrollable.Height("auto"))
                                .Reorderable(reorderable => reorderable.Columns(true))
                                .Resizable(resizable => resizable.Columns(true))
                        .Sortable()    // Cho phép sắp xếp dữ liệu
        // Cho phép lọc dữ liệu
                        .Filterable(filterable => filterable
                                .Messages(mess => mess
                                    .And("Và")
                                    .Clear("Xóa")
                                    .Filter("Lọc")
                                    .Info("Điều kiện lọc tìm kiếm")

                                    )
                                    .Extra(false)

                                .Operators(operators => operators
                                    .ForString(str => str.Clear()
                                        .StartsWith("Bắt đầu với")
                                        .IsEqualTo("Đúng bằng")
                                        .IsNotEqualTo("Không bao gồm")
                                        .Contains("Chứa ký tự")
                                    )
                                    .ForNumber(num => num
                                            .Clear()
                                            .IsGreaterThan("Lớn hơn")
                                            .IsEqualTo("Bằng")
                                            .IsNotEqualTo("Nhỏ hơn")
                        )))

                    // Cài đặt nguồn dữ liệu
                    .DataSource(dataSource => dataSource
                            .Ajax()   // Mọi thao tác thực hiện thông qua Ajax
                            .ServerOperation(false) // Ko cho gửi request bằng cách load lại trang mà thông qua Ajax

                            .PageSize(15)   // Số row hiển thị trên Grid
                            .Model(model =>
                                {
                                    model.Id(p => p.MaGiaoTrinh);  // Chỉ ra khóa của Grid
                                }
                                )
                            .Sort(item =>
                            {
                                item.Add(data => data.MaGiaoTrinh).Descending();
                            })
                            .Events(events =>
                            {
                                events.Error("onError");
                                events.RequestEnd("onRequestEnd");
                            })
                    )
                    //    .Excel(excel => excel
                    //    .FileName("Giáo trình.xlsx")
                    //    .Filterable(true)
                    //    .AllPages(true)
                    //    .ProxyURL(Url.Action("ExportGiaoTrinh", "griddata")))
                    //    .ToolBar(toolbar =>
                    //        {
                    //            toolbar.Excel().Text("Xuất Excel");
                    //        })
)
